Communication and control system using location aware devices for producing notification messages operating under rule-based control

ABSTRACT

A cellular telephone handset stores audio files previously recorded by the user as well as voice mail messages from other users and selectively transmitted selected ones of these files to the remote listener, or to the voice mail system of a remote user. Voice mail messages are composed, stored, transmitted, forwarded and reviewed using a voice mail system without ringing the remote party&#39;s telephone, much as email is composed, stored, transmitted and reviewed using an email server.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a division of co-pending U.S. patent applicationSer. No. 11/981,433 filed on Oct. 31, 2007 to issue as U.S. Pat. No.8,064,887 on Nov. 22, 2011.

Application Ser. No. 11/981,433 is a division of U.S. patent applicationSer. No. 10/984,018 filed on Nov. 8, 2004, published as U.S. ApplicationPublication No. 2005/015372 A1 and issued U.S. Pat. No. 7,769,364 onAug. 3, 2010. Patent application Ser. No. 10/984,018 is a continuationin part of, and claims the benefit of the filing date of U.S. patentapplication Ser. No. 10/160,710 filed May 31, 2002, published as U.S.Application Publication No. 2002/0181671 A1 and issued as U.S. Pat. No.6,816,577 on Nov. 9, 2004 and which claimed the benefit of the filingdate of Provisional U.S. Patent Application Ser. No. 60/295,469 filed onJun. 1, 2001. Patent application Ser. No. 10/984,018 is also acontinuation in part of, and claims the benefit of the filing date ofU.S. patent application Ser. No. 10/680,643 filed on Oct. 7, 2003published as U/S. Application Publication No. 2005/0053290 issued asU.S. Pat. No. 6,996,402 on Feb. 7, 2006 which was a continuation in partof U.S. patent application Ser. No. 09/651,542 filed on Aug. 29, 2000and issued as U.S. Pat. No. 6,631,271 on Oct. 7, 2003 and of U.S. patentapplication Ser. No. 10/160,711 which was filed on May 31, 2002,published on Dec. 5, 2002 as United States Patent ApplicationPublication No. 2002/0181684 A1 and issued as U.S. Pat. No. 6,788,766 onSep. 7, 2004 and which claimed the benefit of the filing date ofProvisional U.S. Patent Application Ser. No. 60/295,404 filed on Jun. 2,2001.

The disclosures of each of the above-noted applications and of U.S. Pat.Nos. 6,631,271, 6,788,766, 6,816,577, 6,996,402, 7.369.364 and 8,064,887are incorporated herein by reference.

FIELD OF THE INVENTION

This invention relates to cellular telephones and more particularly tomethods and apparatus for transmitting prerecorded phrases, sounds andmessages to a remote listener during a telephone conversation.

BACKGROUND OF THE INVENTION

When engaged in a telephone conversation, cellular phone users aretypically confronted with the need to alert the person with whom theyare speaking that, because others are nearby, the conversation cannotcontinue in privacy or without annoying others. In that case, the veryact of explaining the problem can itself be awkward or impractical. Inconsequence, it would be desirable to incorporate into a cellulartelephone the ability to transmit a pre-recorded message to the remoteparty by a pressing a button or actuating some other control on thecellular telephone.

Cellular telephones with built in audio recording and playbackcapabilities have been developed for performing functions including therecording and playback of dictation and telephone conversations, as wellas the playback of pre-recorded announcements used to implement voicemail systems. Where such the voice recording and playback devices arealready present in the cellular telephone, the needed additionalfunctionality contemplated by the present invention can be added atlittle additional cost.

For example, U.S. Pat. No. 6,029,063 issued to Parvulescu et al.describes a voice scratchpad implemented in a wireless telephone thatallows the user to record important information gathered during a phoneconversation. The wireless telephone includes signal processing meansand memory means for recording at least one message or memo, which isspoken over the telephone. The telephone also includes controls forinitiating the recording of such a memo and for retrieving and replayingthe memo. Indexing may be included which allows the system to record andreplay a plurality of memos. The user of the phone can thus recordimportant information in a memo on the voice scratchpad without the needfor paper or the concentration and effort required for writing.

Automatic telephone answering systems have also been developed for usewith cellular phones which allow the cellular phone operator to placethe phone in an automatic answering mode in which the phone answers theincoming call and automatically transmits a message to transmit specificinstructions to the caller at the distant telephone. U.S. Pat. No.5,790,957 issued to A. H. Heidari describes a cellular phone whichincludes a prompt transmitter which may be used to advise the person ata distant telephone to wait a moment while the cellular phone operatorproceeds to another location wherein it is appropriate to lift thereceiver and begin speaking. The prompt feature avoids the situationwherein a telephone caller may hang up prematurely before the intendedcalled person has a chance to pick up the receiver and begin conversing.

The foregoing systems do not, however, allow the cellular phone operatorto employ the cellular phone's pushbutton controls to select andtransmit a selected pre-recorded message to a caller during aconversation. In addition, it would be desirable to allow the cellularphone operator to transmit a repertoire of short response messages (e.g.“Yes,” “No,” “Maybe,” and “I don't know.”) that allow the remote partyto ask questions to and then obtain responses from the cellular phoneoperator without requiring the cellular phone operator to speak.

A related problem occurs when a cellular phone user is unable tocomplete a call to send important information to a remote party beforethe cellular phone user needs to attend a meeting or otherwise be unableto conveniently complete the call. In that instance, it would bedesirable to record a message to be transmitted later, along with atelephone number to be called, so that the cellular phone can laterautomatically place a call to that number and transmit the recordedmessage to the answering party, without requiring attention from thecellular phone operator.

In some cases, the need to transmit a spoken message from a cellularphone in private cannot be foreseen. It would accordingly also bedesirable to provide means for storing a keyboarded message (which mayconsist of only one or just a few words) as text, and then employingspeech synthesis to convert the keyboarded message into a spoken audiotransmission that is sent to the remote party.

BRIEF SUMMARY OF THE INVENTION

It is accordingly an object of the invention to selectively transmitpre-recorded messages from a cellular phone to a remote telephone.

It is a further object of the invention to permit a cellular phoneoperator to pre-record and transmit spoken messages at a later time.

It is a still further object of the invention to enable a cellular phoneoperator to employ the pushbuttons or keys on a cellular phone to selectthe time, destination, and content of recorded messages transmitted to aremote caller.

As contemplated by the invention, the cellular telephone preferablyincludes a digital memory for storing digitized voice signals and meansfor capturing spoken messages using the cellular phone microphone andstoring those messages as a digital recording in the digital memory.Alternatively, spoken messages may be recorded using the cellular phonemicrophone and stored a digital memory located remotely from thecellular phone, such as in a server provided by the cellular network oran addressable server accessed via the Internet. The pushbuttons or keysprovided on the cellular telephone are then manipulated by the operatorto selected one of the pre-recorded messages for transmission to theremote caller.

The cellular telephone keypad may be used to accept keyboarded messageidentification labels that may later be displayed as menu items on thecellular telephone's display to facilitate the identification andselection of previously recorded messages. In addition, the keypad anddisplay may be used to compose text message that may later be convertedinto spoken audio form for transmission to a remote telephone.

The stored messages may be recorded in the voice of the caller, or maybe selected from a stored library of pre-recorded audio messages, soundfiles, MIDI music files, or may comprise text data which can beconverted to speech. These stored messages may either be entered by thecaller, provided as standard stored text, which is converted to spokenform using speech synthesis.

The pre-recording audio or text messages stored in the digital memorymay be selectively transmitted either during an ongoing telephoneconversation at the request of the cellular phone operator, or byentering a telephone number to be called and associating that numberwith one or more messages and then, after a predetermined time intervalor at a predetermined scheduled time, initiating the transmission of theidentified message(s) when a telephone connection is successfullyestablished between the cellular phone and the associated phone number.

Using a suitable control code in combination with a destination phonenumber, a connection may be directly established with the voice mailstorage system for the destination phone number, without ringing thephone designated by the destination phone number. Pre-recorded messages,including previously received voice mail messages, may be directlytransferred into a designated voice mail mailbox at the destinationphone number.

During or at the termination of an ongoing phone conversation, one ofthe parties may be directly connected to the voice mail system of theother party, permitting a portion of the conversation, or a recordedmessage created after the conversation, to be stored as a voice mailrecording.

A user may define and store one or more rules defining detectableconditions and further defining the action to be performed when thedefined condition is satisfied, and the action may include thetransmission of a recorded message to a defined destination phone numberor to a specified voice mailbox.

These and other features and advantages of the invention may be betterunderstood by considering the following detailed description.

BRIEF DESCRIPTION OF THE DRAWING

FIG. 1 is a block diagram illustrating the principal components of thecellular telephone that are used to implement the present invention;

FIG. 2 illustrates the exterior of a cellular telephone handset thatincludes a keypad and display which enables the user to control therecording, identification, selection and transmission of recordedmessages; and

FIG. 3 illustrates the interrelationship of a collection of displayedselection menus which may be used by the operator to perform functionscontemplated by the invention.

FIG. 4 is a schematic view illustrating a network of electronic deviceswhich utilize the present invention;

FIG. 5 depicts topological layout of a group of electronic devices,including device detectors, illustrating the operation of a rules-based,location-based device control mechanism;

FIG. 6 is the screen layout of a user interface dialog box used todefine one or more of the rules used to control the operation of thesystem; and

FIG. 7 is a network diagram showing the manner in which numerouscellular and conventional telephone stationset devices may beinterconnected to exchange recorded messages and to execute conditionalfunctions as contemplated by the invention.

DETAILED DESCRIPTION

As described below, the invention may be used to particular advantage inconnection with a cellular telephone and may be implemented usingconventional components of the type commonly used in advanced cellularphone systems. The makeup and organization of these components isillustrated in FIG. 1 of the drawings and consists of a microprocessor101 that executes routines initiated by the operator's manipulation of akeypad 103. Pressing a given key on the keypad 103 initiates a routinedefined by a stored program in the program memory 105. The cellularphone further includes a display 107 that typically takes the form of asmall, backlit LCD panel. The panel may be used to display a menu ofitems that may be selected by the user using “soft keys” seen at 109that are visually associated with the displayed menu items. U.S. Pat.No. 5,737,394 entitled “Portable telephone apparatus having a pluralityof selectable functions activated by the use of dedicated and/or softkeys” describes the manner in which both the dedicated keys of a keypadand soft keys may be used in combination to implement a menu drivencontrol arrangement for a cellular telephone. Alternatively, as will bedescribed in more detail in connection with FIGS. 2-3 of the drawings,the functions performed may be displayed as a list of options and cursorkeys may be used to invoke selected functions and submenu's identifiedon the display 107.

The cellular telephone further includes a microphone 121 for capturingspoken voice signals from the operator, a speaker or earpiece 123 fordelivering audible sounds to the operator, and a cellular transceiver125 for sending and receiving radio frequency transmissions to and fromthe cellular telephone system via the antenna 127.

The microprocessor 105 includes analog-to-digital conversion means forconverting analog voice signals from the microphone 121 into digitalform for storage in a data memory 131. In addition, using a text-editingprogram stored in program memory 105, the keypad 103 may be used tocompose text messages, which are stored as character data in the datamemory 131.

FIG. 2 shows the exterior of an illustrative cellular telephone handsetwhich houses the components shown in the block diagram of FIG. 1. Thehandset uses a conventional numeric keypad 103 for dialing and softkeyswhose function depends on the content shown on the display 107. Thesoftkeys include an UP cursor key 211, a DOWN cursor key 212, a LEFTcursor key 213, a RIGHT cursor key 214, and an OK key 215.

When a menu screen is displayed, the cursor keys 211-214 are used tohighlight a selected one of several displayed labels, and the OK key 212is used to invoke the operation designated by the selected label. Forexample, as seen in FIG. 2, the display screen 107 may display ascrollable listing of labels each of which specifies a particular one ofa collection of prerecorded messages. By pressing the UP and DOWN cursorkeys 211 and 212, the user may highlight a selected label on thescrollable list, and may select the highlighted message by pressing theOK key 215.

The cursor keys enable the user to select and transmit prerecordedmessages to a calling party when it is inappropriate for the cellularphone user to speak, such as when the phone “rings” in a silent“vibrate” mode when the user is in a meeting or a theater. In thesesituations, the user may select and transmit a desired message to sendto the calling party using the cursor keys without disturbing others. Insome situations, however, such as recording spoken messages or enteringtext messages, voice commands may be used to advantage. The programmemory 105 may include voice recognition routines for converting spokencommands into interface commands for selecting and initiating functions.In order to differentiate conventional speech from voice commands, aselected soft key or dedicated key, or a unique spoken command, may beused to place the device in voice command mode. In voice command mode,the user may select and invoke a particular function by speaking theword or words corresponding to one of the displayed labels. To enter atext message, the user may speak the names of letters, numerals andpunctuation marks. In each case, because the total vocabulary ofacceptable spoken commands is limited, a speech recognition program oflimited capability of the kind now commonly incorporated in cellulartelephones to implement voice commands may be used.

As contemplated by the present invention, the programs stored in theprogram memory 105 enable the operator to initiate and perform a numberof interrelated functions, any one of which can be performed bybeginning with “message menu” seen at 310 in FIG. 3.

By using the UP and DOWN cursor keys 211 and 212, the user may highlightthe label NEW RECORD on the message menu 310. When the OK key 215 ispressed, the recording control menu 312 is displayed. When the labelRECORD is selected on menu 312, the microprocessor 101 digitizes andstores the sounds received by the microphone 121 in the handset's datamemory 131. While recording is in process, the user can highlight andselect labeled functions on the recording control menu 312 to STOP therecording, REWIND the current recording by an incremental amount andbegin replaying the recording at an earlier point, or may select GO TOSTART or GO TO END to move to the start or end of the current recording.Again selecting RECORD on the menu 312 causes the system to beginrecording again at the currently selected playback point, overwritingthe prior recording from the playback point forward. The user canabandon the recording session by highlighting and selecting the EXITlabel or may select the SAVE label on the menu 312 to display the labelentry dialog screen 314 seen in FIG. 3.

As noted earlier, the messages stored in the handsets data memory 131may alternatively be stored in a server 141 accessed via the cellularnetwork as illustrated at 137, or on a remote file server which can beaccessed via the Internet. New messages may be temporarily stored in thehandset's data memory 131 when created, and then may be transferred to aremote server for permanent storage. The messages and other audio filesavailable on the remote server may be transmitted during an ongoingtelephone conversation by transmitting keypad commands to the remoteserver. Alternatively, messages may be transferred from the remote tothe cellular handset for storage in the data memory 131 when thecellular phone is idle or via an unused channel when the cellular phoneis in use.

Using the record control menu 312, the user may a spoken message (orother sound, such as a musical selection) captured by the microphone 121and stored as digital data in the data memory 131 or a remote server141. This data may be stored in compressed form to minimize the amountof memory space required. The messages created by the operator andrecorded in this fashion for future use may supplement a library ofstandard messages that are “built into” the cellular phone and recorded,for example, in the read-only non-volatile program memory 105,downloaded from a library available on a remote server, or transmittedduring an ongoing conversation by transmitting control signals from thecellular phone handset to the server.

A library of pre-recorded messages may be provided in non-volatileprogram memory 105 or on a remote server 141. These messages may beassociated with pre-recorded, displayable text labels, eliminating theneed for the user to key in descriptive labels. The pre-recordedmessages may be spoken by professional announcers or famous people, andthe same message content may be recorded in several alternative voicesselectable by the user.

The displayable label text which describes each recorded message istypically stored as character data in the data memory 131 or the programmemory 105. When audio files are being transmitted between the localdata memory 131 and a remote server 141 via the cellular network, theaudio files may be transmitted as compressed digital data, and thecharacter data making up the descriptive labels may also be transmittedvia the cellular network using a data channel such as the TCP(Transmission Control Protocol) channel available to many digitalcellular telephones, such as Motorola's iDEN i730 multi-communicationdevice which provides a conventional, bidirectional audio voicecommunications channel as well as the additional TCP data communicationschannel. The iDEN i730 includes a built in processor with softwaresupport for the Java 2 Platform, Micro Edition, also known as the J2ME™platform which enables developers to easily create a variety ofapplications, as described in the i730 Multi-Communication DeviceJ2ME™Developer′s Guide, Motorola Corp. (2003). One or more recordedaudio files in the library, including spoken messages recorded by theuser, may be played through the handset's speaker to provideannouncements, alerts or alarms. By way of example, the followingannouncements might be recorded in the voice of a famous person orpersons: “You have an incoming call.” (played instead of a ring tone);“Rise and shine, it's time to get up!” (played instead of clock alarm);“The battery is charging.”; or “Powering down. Goodbye.” Thesefunctional messages may be recorded by the user and labeled in the sameway as the messages intended for playback during conversations, asdescribed next.

The label entry dialog screen 314 enables the user to enter a shortdescriptive label which describes the recording created while therecording control menu 312 was being displayed. The label may be createdby using the LEFT and RIGHT cursor keys to highlight a particularcharacter position in a sixteen (16) character entry field seen at 316.With the desired character position selected, the user may then use theUP and DOWN cursor keys to scroll through a list of characters, numeralsand punctuation marks. When the desired character is displayed, a LEFTor RIGHT cursor key is pressed to advance the highlighted position tothe next or any different position in the 16 character field. When thedesired label has been entered, the OK key is pressed to store thecreated recording as a named audio file in the data memory 131 and todisplay a new list of the available message files in the availablerecording menu seen at 320. The descriptive label text entered using thelabel entry dialog screen 314 describes the content of the recordedaudio message or sound. The descriptive label may also be used as thespoken name label that allows each message to be identified by voicecommand. Pressing the OK key when no characters have been enteredreturns the display to screen 312 (or to screen 318 if entered from thetext editor screen 318 to be described next).

By selecting the label NEW TEXT on the message menu 310, the user mayinvoke the operation of text editor program stored in the program memory105 that displays the text editor screen 318 which permits the operatorto enter and edit a text message. Individual character positions in thetext are entered in the same way that characters are entered on thefield 316 of the label entry dialog screen 314: that is by using theLEFT and RIGHT cursor keys to highlight a particular character positionin the text (which, in the text editor screen 318, may occupy multiplelines) and by using the UP and DOWN cursor keys to select a particularcharacter from a scrollable set of characters to be displayed at theselected position.

To facilitate entry into the character field 316 or the text editorscreen 318, the user may press one of the keys on the dialing keypadseen at 103 in FIGS. 2 and 3 which has the effect of limiting thescrollable list of available characters from which a particularcharacter is desired using the UP and DOWN cursor keys. For example,pressing the “5-JKL” key on the keypad restricts the list of charactersselectable using the UP and DOWN keys to “5”, “J”, “K”, and “L”, thusspeeding character selection.

Pressing the OK key from the text editor screen displays the label entrydialog screen 314 to permit the user to enter a descriptive label forthe text message. As in the case of spoken messages, text messagescreated and saved by the user may supplement built-in pre-recorded textmessages stored in read-only non-volatile memory.

When the available recording menu 320 is displayed, the user may pressthe UP and DOWN cursor keys to scroll through the list of availablemessages to highlight a particular desired message, and then press theOK key 215 to display the message action menu 322 seen in FIG. 3. Themessage identification label selected using menu 320 is displayed at thetop of the message action menu 322. The user then selects a particularfunction to be performed with respect to the selected message. When theselected message is a recorded audio file, the file may be played backor transmitted as previously recorded. When the selected message is atext message it is converted to a spoken message using speech synthesisduring transmission or playback. If the selected message is a textmessage and if the remote station is transmitting a facsimile tonesignal, the message may be converted to a facsimile message such that itis reproduced in text form at the remote location.

By selecting the label PLAY on message action menu 322, the user startsthe playback (audible on to the handset user) of the selected messagewhile displaying the playback control menu 324. The options on theplayback control menu allow the user to STOP the playback until PLAY ispressed again, REWIND the message recording to the beginning and restartthe playback, or EXIT to abort the playback. If the message is allowedto playback to its conclusion, the playback control menu display iscontinued for a brief, predetermined period to provide the user with anopportunity to select REWIND to repeat the playback, and thenterminates, returning the handset to normal operation.

By selecting SEND NOW on the message action menu 322, the selectedmessage begins to play at the beginning and is audible both the user andthe remote party. During message transmission, the send control menu 326is displayed and operates like the playback control menu 324 (exceptthat SEND rather than PLAY is displayed). By selecting STOP, the usercan terminate (or pause) the transmission, which can be resumed byselecting SEND. By selecting REWIND, the user can repeat thetransmission. If the complete message is transmitted to its conclusion,the playback control menu display is continued thereafter for a brief,predetermined period to provide the user with an opportunity to selectREWIND to repeat the transmission, and then terminates, returning thehandset to normal operation. When the message is being transmitted tothe remote listener, the mute buttons on the cellular telephone (notshown), or an additional MUTE menu command on the screen 326, can beactivated so that the user can speak when others are in the room withoutthe user's speech being transmitted. Otherwise, transmitted messages areoverlayed as background sounds on anything the user might say over thecellular telephone connection. In addition, a further “speaker off”control can be added to suppress all sound from the speaker 123 toprevent annoying sounds from being emitted when the user is in a theateror a similar situation and is being used to transmit prerecorded audiorecordings. In addition, the user may simply “hang up” while a recordingis being transmitted, and the recorded transmission will then continueuntil its conclusion, when the cell phone will automatically hang up.

By selecting SEND LATER on the message action menu 322, a firsttransmittal dialog screen 330 is displayed, requesting the user tospecify whether or not a greeting is to be sent before the selectedmessage, and whether or not the remote listener is to be given theopportunity to record a response to the message which is then saved inthe handset's data memory for later playback. The user uses the LEFT andRIGHT cursor keys to highlight the option fields to the right of theSEND GREETING and SAVE RESPONSE, and uses either the UP or DOWN cursorkeys to toggle the field between the YES, NO and NEW options. Wheneverthe NEW option is set for either option field, the unit displays therecord control screen 312 to accept the recording of a new greeting orresponse prompt in the voice of the handset user. For example, a typicalrecorded greeting might contain the spoken words “THIS IS JOHN DOE.SORRY I CAN′T SPEAK TO YOU IN PERSON NOW, BUT PLEASE LISTEN TO THEFOLLOWING PRERECORDED MESSAGE.” An illustrative response prompt mightcontain the following spoken words “YOU MAY RECORD A RESPONSE TO THISMESSAGE BY SPEAKING AT THE SOUND OF THE TONE. PRESS THE STAR KEY TO ENDYOUR RESPONSE. THANKS.”

After the greeting and response options are selected, the user entersthe telephone number to which the message is to be sent using send-todialog screen 330. The desired telephone number is simply keyed on thekeypad 103 after the LEFT and RIGHT cursor keys are used to highlightthe telephone number field.

When the desired telephone number has been entered, the OK button ispressed to display a time-to-send entry screen 332. The entries for thedate field may be entered using the UP and DOWN cursor keys to selectthe month (which, by default, is the current month), then using the UPand DOWN keys to select a day of the month (which by default is thecurrent day of the month). The year need not be displayed and ispresumed to be the current year for the current month and day, or anysubsequent date in the calendar year, and is presumed to be the nextfollowing year for any earlier date. When either the time or date iscorrect, that field can be exited and another edited by using the LEFTand RIGHT cursor keys. Pressing the OK indicates the displayed date andtime are acceptable, and causes the confirmation screen 334 to bedisplayed. The confirmation screen summarizes the entries made onscreens 330 and 332 and requests the user to confirm that the selectedmessage should be sent to the designated number at the specified timeand date. If the user selects “YES” and presses the OK button, themessage transmission is scheduled. Otherwise, the attempt to designate amessage for future transmission is aborted.

By selecting the SCHEDULE label on the message menu 310, the user candisplay a listing of messages scheduled for transmission as seen at 335.The schedule list menu 335 presents a scrollable listing of messagesscheduled for transmission, with each on being listed by its identifyinglabel, the telephone number to which it is to be sent, and the date andtime when it is scheduled for transmission. Messages which have alreadybeen successfully transmitted may be flagged on the listing with a firsticon, and messages to which the remote listener has recorded a responsemay be identified with a different icon (such as the asterisk to theleft of the WAIT HERE message identifying label shown on screen 335.

Using the UP and DOWN cursor keys to select a particular message andpressing the OK button on screen 335 causes the scheduled message menu336 to be displayed. Using menu 336, the user can elect to CANCEL thescheduled transmission or can elect ALSO SEND TO which displays thetelephone number entry screen 330, the date and time entry screen 330,and the confirmation screen 334 in sequence, making it easy to send acopy of the same message to different parties at different times.Selecting EXIT at the menu 336 leaves the schedule unchanged. At thetime specified, the designated number is called and, if a connection isestablished, the recorded message is transmitted to the called party.

To help insure that this automated call is properly received, apre-recorded, standard greeting message may transmitted before themessage recording or text to identify the caller and explain that aprerecorded message is about to be transmitted as discussed above withreference to screen 330. The prompt message may indicate whom the callis for and/or ask the receiving party to indicate that he or she isready to accept the message by pressing a designated key. The cellularphone then responds by sending the recorded message only when the properDTMF dialtone signal is keyed at the remote telephone and received atthe cellular phone in response to the prompt message. If the callednumber is equipped with a telephone answering system which answers thecall instead of a human, the cellular phone may employ its voicerecognition capability to transmit the same or a different message onlyafter the answering mechanism at the other end is ready to record. Thepresence of voice recognition capability also makes it possible to matchthe voice of the person answering the telephone with the stored voicecharacteristics of the desired party and to transmit the previouslyrecorded message only if the desired party answers the phone. Thecellular telephone may be programmed to attempt to call the same numberlater when the called telephone does not answer or properly indicatedthat it is ready to receive the transmission.

A specified pre-recorded message file may be associated with one or moretelephone numbers which, if identified by the caller ID mechanism for anincoming call, cause that message file to be played as a specialgreeting or message to the identified caller or callers. Thus, thefollowing sort of self-explanatory special messages might be played onthe receipt of an incoming call from an identified caller: “Thanks forcalling. Today's meeting has been moved to the Boston Office and we willbegin at noon;” “Bob, call me on my cell phone at (508) 555-1212;” or“This is a recording. I am no longer accepting your calls. Don't callagain.”

The special greeting file selected in accordance with the caller'scaller ID information may also invite the caller to leave a voice mailmessage using the “On Demand Voice Mail” capability described below.When the caller leaves an on-demand voice mail message, all or part ofthe prompt greeting message may be recorded with the recorded voice mailmessage from the caller, thereby providing context to the recordedresponse when the voice mail recipient plays back the message.

The pre-recorded “message files” need not be limited to spoken messages.Music and other sounds may be recorded and uploaded for replay andtransmission using the cellular phone. The cellular phone could furtherinclude stored routines for performing music synthesis; that is,converting uploaded and stored MIDI music files into audible form. Thetext-to-speech capabilities of the processor, used to transmitkeyboarded messages in spoken form as described above, may be used tolisten to email text files in spoken form and to send or forward emailmessages as voice file attachments to email messages. In this way, theuser may retrieve incoming email from an ISP and replay or retransmitthe content as spoken text.

Pre-recorded message files may also take the form of text messages whichare transmitted for display on a target device. The Wireless MessagingAPI (WMA) allows compatible devices such as SMS cell phones to send andreceive short text or binary messages over wireless connections. The WMAis based on the Generic Connection Framework (GCF) defined by theConnected Limited Device Configuration (CLDC). The GCF provides anabstract framework for performing input and output, a framework thatprofiles and optional packages can build on to provide the i/oconnections they need. Messages sent and received with the WMA are meantto be transmitted over the wireless networks used by cellular telephonesand similar devices, whether GSM or CDMA. In particular, the WMAsupports the Short Message Service (SMS) and the Cell Broadcast ShortMessage Service (CBS). Pre-recorded SMS messages or the like may betransmitted during an ongoing conversation, or as greeting messages, oras announcement and alarm messages, either alone or in combination withrecorded audio messages.

Similarly, many cellular phones and other devices such as PDAs includethe ability to transmit, receive and display images. These pre-recordedimage files may be transmitted instead of, or to supplement, audio ortext message files to perform, or enhance the performance of, the samefunctions described in this specification accomplished with pre-recordedaudio files.

The handset may also be programmed to send a standard spoken promptingmessage to the called party after the message transmission is concludedindicating that a spoken response may be provided. For example, theprompt might say: “IF YOU WISH TO RESPOND TO THIS MESSAGE, PLEASE SPEAKAT THE SOUND OF THE TONE. PRESS THE STAR KEY WHEN YOU HAVE FINISHED.” Ifthe called party records a response, it may be accessed by firstselecting the transmitted message using the schedule menu 335 and thenselecting the HEAR RESPONSE label (displayed only when a response hasbeen recorded).

The handset described above may be employed to transmit one or morerecorded messages to several different phone numbers. Thus, a messagemay be recorded and then transmitted in separate telephone calls to eachtelephone number. Thus, for example, if it became necessary toreschedule a meeting to a different time, a single advisory messagecould be dictated and transmitted to all of the meeting attendees, andthe transmitted message could include a request that the recipientdictate a reply indicating whether or not the recipient expected toattend.

Sound files obtained from a variety of sources may be stored and sharedamong a community of friends or associates by using the telephonecommunications device to store sound files and share them with others.Excerpts from songs, movie sound tracks, and other works, which are madeavailable by the copyright owners for promotional purposes, could befreely shared. Along with jokes, animal sounds, MIDI music files, orother entertaining sound clips, these short recordings could becollected and shared with others. File sharing may be achieved byproviding both parties to a conversation with menu controls that allowthe connected phones to be placed in a “sharing mode” and then allowingeither party to select and transmit a stored message. Start and endtones may be transmitted to delimit the transmitted message, and thedescriptive text label may also be transmitted with the message so thatthe recipient who is receiving and storing a message being shared byanother party need not re-key the label text.

Recorded messages may also be recorded, labeled and played whenever anincoming caller establishes a new connection to the handset. Thecaller-ID information which identifies the incoming caller may be usedto selectively trigger the playback of a selected message on to aspecified caller or callers. In this way, a user may record a messageproviding personal information to selected callers, such as familymembers or other trusted people, that would not be made available toother callers, who might hear a different pre-recorded message selectedby the cell phone owner for automatic playback.

In the same way, recorded messages may be grouped and each message groupmight be associated with one or more specified phone numbers which arecaptured either when an outgoing call is initiated or when an incomingcall containing caller ID information is received. Thus, for example,during an ongoing conversation with a family member, the labels for oneset of available messages might be displayed in the display panel 107,whereas during a business phone call with identified business partners,a different set of pre-recorded messages would be presented to the userfor playback.

On Demand Voice Mail

The present invention may be employed to provide “On Demand Voice Mail.”It may be observed that the above-described mechanism for recordinglabeled messages and then selectively playing them during an ongoingconversation may be considered to be a mechanism for time shiftingoutgoing content. On Demand Voice Mail (ODVM) is a mechanism for timeshifting incoming messages. ODVM addresses the problem which occurs whena party to a conversation needs to terminate the call, but has not yetreceived all of the information needed from the other party. Now, theparty might instruct the other party to “Call me back, and I won'tanswer, and then leave rest of your message in my voicemail”.

To meet that need, ODVM permits a party to turn on audio recordingcapability, then hang up (or otherwise terminate or interrupt theongoing conversation) and allow the other party to continue to record amessage for later playback. If one party places his or her cell phoneinto a recording mode before hanging up, the connection is automaticallyterminated after the other party completes the recording.

Thus, of a party is half way through a call and runs out of time, he orshe can effectively flip the person with whom the conversation is beingheld into voice mail where they could finish whatever they were talkingabout. Leaving directions, instructions, or phone numbers would be themost practical examples.

Alternatively, if one party gets another call through call waiting, thesecond caller, or the first, could be transferred to voice mail. Notethat, to permit concurrent recording of one call while continuinganother, the recording function would be performed by the cellularservice provider in the same way that voice mail is recorded when thecalled party is unavailable. In this case, on party sends a signal tothe cellular provider (by selecting a displayed “transfer to voice mail”option on his or her cell phone) to transfer the caller to voice mail.In a conventional PSTN telephone system, the central office could bedirected to connect the other party to voice mail by sending apredetermined DTMF dial sequence, an SS7 signal, or the like. When thetransfer occurs, the other party may be treated in the same way that anyother caller who is transferred to voice mail; that is, may be hear apre-recorded greeting message and be given options which enable therecording process to be controlled. In the meantime, the terminatingparty may discontinue use of his or her phone, or may use it tocommunicate with someone else. In the same way, after one of two callershas been sent to voice mail during a call-waiting interruption, thesecond caller may also be sent to voice mail, and the two differentcallers may continue to concurrently record messages.

When a remote party has been transferred to on-demand voice mail and isrecording a message, the cellular phone user may monitor the remoteparty's recording of a stored voice mail message, and continue theconversation after the recording is completed, may converse with anotherparty and then rejoin the party recording the message thereafter.

ODVM could employ tones, beeps or pre-recorded messages as prompts.Thus, when one phone user needs to interrupt a call, a pre-recordedexplanatory message is selected for playback and gives the other partythe option of recording any additional information to be conveyed ason-demand voice mail. Alternatively, the user could advise the otherparty that he or she was about to be switched to voice mail, and a“beep” or tone would be transmitted to indicate to the party when tobegin the recording.

If a called party cannot, or chooses not to, start or continue aconversation, a pre-recorded message is played to the other party. Theperson receiving the recording, however, can then say something back inresponse. The interrupted party could continue to “listen in” to therecording, even though he or she may be unable to speak (because theyare in a meeting or at the theatre, for example).

When a pre-recorded “prompt” is transmitted before the other party isgiven an opportunity to record a response, both the prompt and theresponse may be recorded as the part of the same “voice mail” message,thus providing context when the message is played back.

The mechanism for playing back a selected recording to an incomingcaller may include an “over-ride” capability that allows the calledparty to encourage the use of voice mail, but permits the caller to“insist on” a connection. Thus, the called party might place his or herphone in a mode in which incoming calls (perhaps from specified callersonly) are answered with a greeting that says “I'm in a meeting but ifthis is important, press #2 and I'll pick up”. The caller can then pressthe number, which is displayed on your phone, and you then start theimportant conversation. In essence, the combination of caller ID, andthe pre-recorded message transmission capability, in combination withthis reply feature provides a call screening function often performed bya human secretary.

On-demand voice mail functions, as described above, are initiated by theperson to whom the voice mail message is directed, with the messageitself being left at the request of, or at least the consent of, theperson recording the message. On-demand voice mail functions could alsobe initiated by the person who wishes to leave the message without theneed for dialing the number of the party for whom the message will beleft. Whenever, during an ongoing call, a cellular phone user is unableor unwilling to continue a conversation and transmits a stored, labeledvoice announcement to the other party, the other party may be given theoption of transmitting a DTMF key sequence, or making an interpretablevoice command, to request access to voice mail recording. This requestcould also be for a limited time after a call had been completed byproviding the functional equivalent of a “postscript” button that wouldestablish a voice mail connection that would the permit the requester toleave a voice mail message for the person with whom a conversation hadrecently terminated. This capability thus provides a “soft ending” for acall; that is, within a brief period, say 30 seconds, after then end ofa call, a caller could invoke the postscript function to initiate arecording connection to the other party's voice mail.

The ability to directly invoke another party's voice mail system can beimplemented without requiring that a voice connection be established (orattempted) first. Frequently, if a party does not wish to interruptanother person with a telephone call, it would desirable to simplyinvoke their voice mail system directly without “ringing” the otherparty's phone. This could be accomplished by transmitting apredetermined DTMF key sequence, SS7 signal, or some other signal, alongwith a destination telephone number, which the central office, PBX ordialed stationset (such as a suitably equipped cellular phone withinternal message storage) would respond to by connecting the callingparty to a voice mail recording system without ringing the destinationphone.

As described above, On Demand Voice Mail may be used to advantage when aparty to is unable or unwilling to continue a conversation, providing amechanism for allowing the other party to continue to record informationthat the terminating party can replay later. Sometimes, it would bedesirable to simply record an ongoing conversation, capturing recordingsfrom both parties, for later replay. To facilitate that result, a partymay be given the ability to switch the ongoing conversation into voicemail, and continue in that mode until the call terminates or until thevoice mail mode is terminated by a further command, thus leaving thedesignated content in the requester's voice mail system for laterplayback.

To facilitate this function, the recording capabilities built into acellular phone could be used to permit the phone user to first compose,and possibly edit a stored voice mail message, and then transmit thisvoice mail message by transmitting a coded signal and a destinationnumber as noted above to transfer the recorded message into the voicemail system of a called party. The voice mail system owner may, at hisor her option, be notified by an audible or visual alert signal when avoice mail message has arrived. Note also that the usual greetingmessage, e.g. “You've reached the Jones residence. We can't take yourcall right now, so please leave a message . . . ” may be inappropriateor unnecessary; consequently, the voice mail system may simply respondwith a “beep” and nothing more to signal the human caller (or theautomated message transfer system) when to begin the recording.

As an adjunct to caller-initiated access to another's voice mail system,when a direct connection to an on demand voice mail system isestablished, access may be provided to previously recorded messages,allowing the caller to delete, amend or supplement previously recordedmessages. This access would be provided based on the calling partiescaller ID information, and could require the entry of a passwordwhenever the calling party first leaves a message, and the reentry ofthat password whenever a calling party seeks access to replay or edit apreviously recorded message. The calling party could be provided withthe displayed menu controls of the type shown at 324 in FIG. 3 to play,stop and rewind messages being replayed.

Voice mail messages may also be listed like any other recorded messageis listed as illustrated at 320 in FIG. 3. Voice mail messages whichstore recordings of messages left by another party, or portions of priorconversations, could be labeled on the displayed list using acombination of the caller ID information and time of day information.These voice mail and conversation messages could then be replayed duringother ongoing conversations, transmitted as on demand voice mailmessages to the other person's voice mail systems. Using the ability tocombine a recorded message with a further recording from another person,the system permits messages to be forwarded to others and chainedtogether, in much the same way that email messages are chained togetherby appending a copy of a received into the body of a transmitted messageso that the chain of prior messages can be read in later messages. Withchained on demand email, a sequence of voice mail messages and responsescan be chained together to form a recording of an ongoing conversation.

The on demand voice mail system accordingly provides many of theconvenient features of email communications. One party can record avoice mail message by directly accessing another party's voice mailsystem. That party can listen to the voice mail message, compose areply, and directly respond by sending a response voice mail directly tothe caller's voice mail system. A message requesting a response can betransmitted directly into several different voice mail systemsidentified on a destination list, and each recipient can dictate aresponse which can be posted as an on demand voice mail responsedirectly into the first person's voice mail system. Either party cancombine a received recording with an additional recording and forward itto a third party's voice mail system. Received voice mail messagesappear in a displayed listing and can be readily selected for replay,for transmission during an ongoing conversation, for editing, or fortransmission directly into other voice mail systems.

The Web of Rules

As described in the above-noted U.S. Pat. No. 6,631,271 entitled “RulesBased Methods and Apparatus for Generating Notification Messages basedon the Proximity of Electronic Devices to One Another,” and in U.S. Pat.No. 6,996,402, one or more specified functions may be performed inresponse to the changing relative positions of a plurality of objects,each of which incorporates or is attached to a device that can beidentified at short range. One or more processing rules are defined by auser. Each of the rules contains condition part and an action part, withthe condition part defining at least one relative position condition tobe satisfied by specified ones of said objects and the action partdefining at least one specified action to be performed when saidcondition part is satisfied. One or more detectors generate dataindicating the identification and relative position of electronicdevices that are within range of the detectors. This data is processedin accordance with the processing rules defined by the user, andfunctions are performed as specified in the action part of each of therules whose condition part is satisfied by the data from thedetector(s).

The detectors operate as interrogation devices capable of determiningwhether specified ones of the objects are within a predetermined rangeof the interrogation device, and may be implemented by Bluetoothcompliant integrated circuits, by radio frequency identification (RFID)tag readers, or by devices which obtain position information fromdevices using the Global Positioning System (GPS).

One of the objects may be a container which holds one or more objects,and the condition part of a rule may define one or more relativeposition conditions to be satisfied by the position of the containerrelative to said one or more objects specified in the rule. Anidentification token, such as a card or a badge, may be issued to adesignated bearer and the condition part of a rule may define a positioncondition to be satisfied by the position of the identification tokenrelative to one or more other devices. This rule-based, locationdependent system may be used to advantage in a wide range ofprogrammable applications defined using a standard user interface whicha user employs to define the condition and action parts of rules whichcontrol a variety of defined functions in response to the changingrelative positions of specific objects identified in the rules.

The action part of a user-defined rule may specify the content anddestination of a message to be delivered when the condition orconditions specified in the action part is/are satisfied. This messagemay be a labeled, pre-recorded audio message stored either in a cellularphone handset or in a remote file server as discussed above andtransmitted during on ongoing conversation which is occurring when thecondition is satisfied, or may be transmitted to a called party after aconnection is established to that party by dialing a telephone numberspecified in the action part of the satisfied rule.

Using the rule-based system, the relative locations of a network ofelectronic devices, each including an electronic device whose absoluteor relative position can be sensed, are monitored to generatenotification signals in accordance with user-defined rules. Anillustrative example of such a network is shown in FIG. 4. Supervisoryfunctions for the system are executed on a server 401 which is connectedvia the Internet 403 to a plurality of different fixed and portableelectronic devices which employ Bluetooth chips, RFID tags and tagreaders, or other radio frequency devices to sense the relative locationof devices in the network as well as provide connectivity between thedevices.

For example, the user seen at 405 uses a hand held cellular phone whichis connected to the Internet 403 using a cellular network or WirelessApplication Protocol (WAP) radio link 407 and a gateway server 409.Similar, the user's automobile 411 employs a second cellular or WAP link413 and the gateway 409 to connect to the Internet. Additionalelectronic devices, such as personal computers, at the user's home 415and office 419 are also connected to the Internet via conventionalmeans, including dialup and fixed connections to Internet ServiceProviders (ISPs).

Each of the foregoing devices are thus provided with Internetconnections and each is further provided with a Bluetooth chip whichenables that device to communicate over short ranges to still furtherdevices (not shown in FIG. 4). For example, the user 415 may carryadditional devices, such as a laptop computer or a personal deviceassistant (PDA), an electronic wristwatch, a remote control for anautomobile door lock, a digital camera, or an electronic calculator.Each of these devices may be equipped with a Bluetooth chip which cancommunicate with other devices, including the user's cellular phonewhich includes a Bluetooth chip that enables it to also operate as ashort range intercom device and as a portable phone when it is thevicinity of a base station at the user's home 415 or office 419.

The user's automobile 411 is also equipped with a cellular phone systemcapable of establishing data communications via the WAP gateway 109 andthe Internet 403 to provide information, entertainment, andcommunications services to the occupants. The automobile may be furtherprovided with a navigation system using the Global Positioning System(GPS), a diagnostic system capable of generating, displaying andtransmitting status information about the automobile. The automobile'scar locking system may employ a Bluetooth enabled transceiver toremotely control door and truck locks, lights, and anti-theft alarms.

At the user's home 415 and at his or her office 419, Bluetooth enableddevices may be integrated into a variety of fixed systems, includingthermostats, appliances, entertainment systems, lighting controls,security systems, and office equipment. Although the Bluetooth chips inthese devices may be primarily intended for different functions, theycan play a useful role in the position monitoring and notificationsystem contemplated by the present invention, a described below.

The invention may be advantageously applied to business as well asconsumer applications. For instance, an engineer who customarily takesinstruments and tools into the field may use the system to prevent thesedevices from being misplaced or forgotten. By using the user-definedrules for monitoring the relative and absolute positions of variousdevices, in combination with user-defined actions which should beperformed when associated conditions are satisfied, the system can betailored to the needs of the particular user and the specific deviceswhich that user owns and operates.

Bluetooth Functions

As described in Profiles, Specification Volume 2, Specification of theBluetooth System, V1.0B, Dec. 1, 1999, under the Generic Access Profile,two devices involved in a Bluetooth communication can take the rolesspecified by the generic notation of the A-party (the paging device incase of link establishment, or initiator in case of another procedure onan established link) or the B-party (paged device or acceptor). TheA-party is the one that, for a given procedure, initiates theestablishment of the physical link or initiates a transaction on anexisting link.

The Bluetooth access profile establishes the procedures between twodevices related to discovery and connecting (link and connectionestablishment) for the case where none of the two devices has any linkestablished as well as the case where (at least) one device has a linkestablished (possibly to a third device) before starting the describedprocedure. The Bluetooth user should, in principle be able to connect aBluetooth device to any other Bluetooth device. Even if the twoconnected devices don't share any common application, it should bepossible for the user to find this out using basic Bluetoothcapabilities.

Each Bluetooth device is specified by a unique 48-bit (12 hexadecimaldigit) Bluetooth Device Address (BD_ADDR) and by a “user friendly”Bluetooth Device Name which can be up to 248 bytes long, althoughexternal devices are not expected to be able to handle or display morethan 40 characters. Still further, each device is assigned a Bluetoothpasskey (Bluetooth PIN) which is used to authenticate two Bluetoothdevices (that have not previously exchanged link keys) to each other andcreate a trusted relationship between them. The PIN may be enteredthrough a user interface device and may also be stored in the device;e.g. in the case of a device without sufficient capability for enteringand displaying digits.

Bluetooth devices are further specified by a Class of device parameterreceived during the device discovery procedure and indicating the typeof device and which types of service that are supported. The informationwithin the Class of Device parameter is referred to as ‘Bluetooth DeviceClass’ (i.e. the major and minor device class fields) and ‘BluetoothService Type’ (i.e. the service class field). The terms for the definedBluetooth Device Types and Bluetooth Service Types are defined in thespecification. The Class of device is a bit field and, at the userinterface level, the information in the Class of device isimplementation specific. Bluetooth devices are capable of performing aninquiry function to determine the identity and Device Class of other“discoverable” Bluetooth devices which are in range. With respect toinquiry, a Bluetooth device shall be either in non- discoverable mode orin a discoverable mode; that is, the device shall be in one, and onlyone, discoverability mode at a time. The two discoverable modes definedhere are called limited discoverable mode and general discoverable mode.When a Bluetooth device is in non-discoverable mode it does not respondto inquiry. A Bluetooth device is said to be made discoverable, or setinto a discoverable mode, when it is in limited discoverable mode or ingeneral discoverable mode. Even when a Bluetooth device is madediscoverable it may be unable to respond to inquiry due to otherbaseband activity. A Bluetooth device that does not respond to inquiryfor any of these two reasons is called a silent device.

Bluetooth devices are capable of perform different types of inquiriescalled a (1) general inquiry, (2) limited inquiry, (3) name inquiry, (4)device discovery, and (5) bonding. The purpose of the general inquiryprocedure is to provide the initiator with the Bluetooth device address,clock, Class of Device and used page scan mode of general discoverabledevices (i.e. devices that are in range with regard to the initiator andare set to scan for inquiry messages with the General Inquiry AccessCode). Also devices in limited discoverable mode will be discoveredusing general inquiry. The general inquiry is intended to be used bydevices that need to discover devices that are made discoverablecontinuously or for no specific condition.

The purpose of the limited inquiry procedure is to provide the initiatorwith the Bluetooth device address, clock, Class of Device and used pagescan mode of limited discoverable devices. The latter devices aredevices that are in range with regard to the initiator, and may be setto scan for inquiry messages with the Limited Inquiry Access Code, inaddition to scanning for inquiry messages with the General InquiryAccess Code. The limited inquiry is intended for use by devices thatneed to discover devices that are made discoverable only for a limitedperiod of time, during temporary conditions or for a specific event.

The purpose of name discovery is to provide the initiator with theBluetooth Device Name of connectable devices (i.e. devices in range thatwill respond to paging). A Name request is the procedure for retrievingthe Bluetooth Device Name from a connectable Bluetooth device. It is notnecessary to perform the full link establishment procedure) in order tojust to get the name of another device. In the name request procedure,the initiator will use the Device Access Code of the remote device asretrieved immediately beforehand normally through an inquiry procedure.

The purpose of device discovery is to provide the initiator with theBluetooth Address, clock, Class of Device, used page scan mode andBluetooth device name of discoverable devices. During the devicediscovery procedure, first an inquiry (either general or limited) isperformed, and then name discovery is done towards some or all of thedevices that responded to the inquiry. The built-in ability of aBluetooth device to detect the presence and identity of other Bluetoothdevices which are within its range may be used to provide locationinformation which is then used, as described below, to generate usefulnotification messages to the user.

An illustrative topology is shown by way of example in FIG. 5. As thereshown, two fixed Bluetooth devices illustrated by the triangles A and Fat 501 and 503 are each linked to the Internet as seen at 505, and bothcan operate in a long range mode. Thus, the device illustrated by thetriangle A at 501 can discover the presence of and communicate with theBluetooth devices illustrate by the circles B, C and D at 511, 513 and515 respectively. The device indicated by the circle B at 511 operatingin short range mode can detect the nearby device C at 513, but thedevice D at 515 is out of range for the device B. The devices indicatedby the circle G at 517 and by the circle H at 519 are both within therange of the device F at 503. The device indicated by the circle E at521 is out of the range of both the devices A and F, but is near to andcan discover the presence and identity of device I at 523.

Those Bluetooth device which are programmable (e.g. personal computers,PDAs, and the like) may be readily programmed to detect and report theposition of nearby devices. Thus, the device A may be programmed todetect the fact that devices B, C and D are within its range, thatdevices E, F, G, H and I are outside its range, and that device C isalso within the range of device B but that device D is not within therange of device B.

A server seen at 530 is connected to the Internet, and hence to devicesA and F. The server 230 receives HTTP messages from the remote devices Aand F containing the position information obtained by transmittingBluetooth inquiry messages from devices A and F, and by gatheringposition information obtained from satellite Bluetooth devices, such asthe device B.

The server 530 executes a supervisory program which records the positioninformation contained in received messages to establish stateinformation at predetermined times. By comparing the state informationat different times, transition events can be detected. Thus, if device Bmoves outside the range of device A, the time at which that movementoccurred can be determined.

Other Range and Position Detection Systems

Other systems can be used to identify when particular objects are withina predetermined range of other objects. For example, identification tagswhich can be detected at short range are used in electronic articlesurveillance systems to prevent shoplifting and theft, warehousing andinventory control systems, article processing and inspection systems,and the like. Such systems are available from Unisen of Boca Raton,Fla.; Detectag of Aurora, Ontario, Canada; and Sensormatic of BocaRaton, Fla. Using these range-sensing, tagging mechanisms in combinationwith the user-defined rules contemplated by the invention, the user cantag articles which should be, or should not be, in particular places atparticular times, as defined by the condition part of user-specifiedrules.

There are several different kinds of radio frequency identification(RFID) technologies and tags, each of which has significantly differentfunctional characteristics. Some tags have batteries, some don't. Sometags have short-read ranges, some have long-read ranges. Popular tagsoperate on at least six different frequencies, often with many competingprotocols at each frequency. To provide standards for identificationtags, the EPC (Electronic Product Code) has been proposed to as astandard way of designating products, and packaging for products, in arange of retail supply chain application from “backroom” applicationssuch as pallet and carton tracking to “selling floor” applications suchas item level tagging. At its most basic level, EPC is a coding schemefor RFID data that will identify an individual item's manufacturer,product category and unique serial number. EPC tags are interrogated bytag readers which transmit the EPC code along with an identification ofthe particular reader to a server on the Internet which storesinformation that allows individual items to be tracked. Thus, forexample, the server 530 may store tracking data for individual itemsmade by a manufacturer. When the item is near a reader; for example,when an item bearing an RFID tag (device G at 507) is near a tag reader(device F at 503), that proximity information may be posted as trackingdata to the server 530 via the Internet 530 using the standard EPCNetwork mechanism.

In addition to, or as an alternative to, the range finding abilities ofa Bluetooth device, an article surveillance system, or the equivalent,an object whose position is to be tracked may incorporate a GlobalPositioning System (GPS) receiver for determining the absolute positionin latitude and longitude for that device. For example, the GPS 25series receivers available from Garmin Industries provide positioninformation accurate to within 5 meters, velocity information accurateto 0.1 m/s RMS, are small in size (46.5 mm×69.9 mm×11.4 mm), and consumelittle power (115 mA typical @ 5.0 VDC). For details on the GlobalPositioning System and GPS receivers, see Understanding GPS: Principlesand Applications by Elliott D. Kaplan (Editor), Artech House; ISBN0890067937 (1996). Motorola offers the MG4100 Instant GPS chip that candetect GPS signals as low as −53 dBm, that can be readily added tovirtually any portable consumer electronics product to provide positionawareness. For example, digital cameras might stamp photos with time andlocation labels, PDAs can provide maps with real time navigation, andcellular phones that are E-911 compliant can offer emergency assistance,navigation, buddy finders, and location-based interconnections withothers. Methods and apparatus for providing location dependent cellulartelephone communications are further described in U.S. Pat. No.6,788,766, the disclosure of which is incorporated herein by reference.

In addition, Mobile Positioning Systems (MPS) which are incorporatedinto cellular phone systems provide a mechanism for continuously orperiodically updating location information for cell phones. MPStechnology is similar to the satellite-based Global Positioning System(GPS) but offers the additional capability of determining locationinside buildings, parking garages and other shielded areas such asinside a pocket or briefcase that are inaccessible to GPS systems. MPSMobile Positioning Systems for GSM cellular phones are offered byErickson and Cellpoint, Inc.

When a GPS or MPS device is used to determine absolute position, theuser defined rules which determine when predetermined actions areperformed may include absolute position requirements. For example, theGPS receiver in an automobile navigation system may be used to add acondition to the condition part of a rule which states “If my automobileis more than 2 miles from my house, and . . . ”

In accordance with the invention, a rules-based system for monitoringthe movement and relative location of a plurality of electronic devices,including Bluetooth compliant devices, RFID tags and RFID tag readers,and GPS devices, may be employed to perform specified actions, such asissuing notification messages and actuating alarms, when the conditionsspecified in one or more or the defined rules are satisfied. Thenotification messages may consist of pre-recorded spoken messages oraudio files which are specified by unique labels or identifiers andwhich may be transmitted during an ongoing conversation at the time acondition is satisfied, or may be transmitted to a called party at atelephone number specified in the action part of the rule. RFID tagreaders perform inquiry operations to identify RFID tags which are withrange of the tag reader. The RFID tag readers may be connected in anetwork using the long-range communications capabilities of an includedBluetooth device, or via some other communication link. The current andpast position of an item designated by an RFID tag which produces astandard EPC code may be determined using the standard EPC Network froman Internet server that stores tracking data for manufactured items. Thepositional data derived from these inquiries is passed to a rulesprocessor which initiates defined actions when one or more of the rulesare satisfied. A web server may be used to accept rules definitions,receive posted positional data from connected devices, and initiate theactions specified by the satisfied rules. Alternatively, user devicesmay be programmed to perform one or more of these functions. The presentinvention may be used to provide programmable functions by monitoringthe relative locations of Bluetooth enabled or RFID tagged items thatcan be detected at short range to provide special electronic articlesurveillance functions to prevent shoplifting and theft, or to existingaugment warehousing and inventory control systems, article processingand inspection systems, and the like. The Bluetooth enabled devices andthe RFID tag readers are each coupled to a communications network, whichmay include the Internet, whereby position and identificationinformation is passed to a processor which processes the suppliedinformation in accordance with the previously defined rules. Some of thenodes of the network may act as relay stations, transferring deviceposition and identification information from other nodes, ortransmitting messages whose content and destination is specified by theaction part of a rule whose conditions part has been satisfied.

The range and absolute position data from the network of electronicdevices may be advantageously stored in a relational database andmanipulated using standard query services and procedures. These queryservices process location data which may specify the geographic “point”position of fixed objects (without absolute position sensing means) ormovable objects which are detected near to fixed objects, and movableobject which use GPS or MPS mechanisms to determine current position.When precise data is unavailable, objects' positions may be approximatedby specifying defined regions which contain the objects. Preferably,this location data is stored in a standard format, such as that used bythe locator feature in Oracle8i interMedia, a component of the Oracle 8idatabase available from Oracle Corporation, Redwood Shores, Calif. Thislocator feature, and Oracle Spatial, and its extensions used with theOracle8i Enterprise Edition product, provides an integrated set offunctions and procedures that enables spatial data to be stored,accessed, and analyzed quickly and efficiently in an Oracle8i database.Oracle Spatial provides a SQL schema and functions that facilitate thestorage, retrieval, update, and query of collections of spatial featuresin an Oracle8i database, and includes the following components:

-   -   a. A schema that prescribes the storage, syntax, and semantics        of supported geometric data types;    -   b. A spatial indexing mechanism;    -   c. A set of operators and functions for performing        area-of-interest and spatial join queries; and    -   c. Administrative utilities.

For more detailed information, see “Oracle8i interMedia Audio, Image,and Video User's Guide and Reference.” Release 8.1.5 Oracle Corporation(Oracle Part No. A67299-01), 1999, and Oracle Spatial User's Guide andReference, Release 8.1.6, (Oracle Part No. A77132-01), 1997, 1999. Theabove-noted operators and functions, taken in combination with availableGeographic Information System location databases, allow the user tospecify conditions such as “near to 529 Sycamore Street, Des Moines,Iowa” which may be satisfied when a GPS device position is within aspecified range of a geographic point location for that address obtainedfrom a GIS database.

Rules Definitions

The supervisory program executing on the server 530 can further acceptrules definition from a user. For example, using a conventional formsbased HTML/CGI interface, the user may specify the conditions which areto be satisfied before certain actions may be taken. By way of example,the user may define rules with the goal of making sure a user does notforget to take certain devices with their person. These devices orthings that people commonly carry with them and that have some valueinclude a Palm Pilot, cell phone, wallet, keys, pocketbook, briefcase,and portable computer. Each of these items would be equipped with aBluetooth chip. In addition, Blue Tooth chips could be integrated into asmall device (here called a “badge”) whose prime function is to indicateposition and which can be could be placed on or near stationary devices,such as the Palm docking station, or the cell phone recharger, withwhich Bluetooth devices or things bearing other Bluetooth badges couldlink to at times.

The “web of rules” of rules defined by the user could detect and informthe user of a rich variety of events. For instance, if the user'selectronic watch was in proximity to her car during the day on Mondaythrough Friday, then the user's cell phone and briefcase should also bein proximity to the car. That is, the cell phone and briefcase should bewith the user when she is traveling, and the location of the watchsignifies the location of the user. Thus, the user can define a rulewhich states that, if the watch is within the range of the car duringbusiness hours on Monday through Friday, and further if either the cellphone or the briefcase are not in the vicinity of the car at that time,the user should be alerted in of a variety of user-defined ways asdescribed later.

As a further example, the user could establish the rule that if the userleft the house (as determined by being out of range of the particularfixed device), and a house security system indicated that the doors werenot locked, and if no other user was still present in the house, thedeparting user would be alerted.

The action taken when a give rule is satisfied can take numerous forms.In the foregoing example, the user can be notified by a actuating asuitable alarm on a device known to be with the user (e.g., by causingher watch it sound an audible alarm or to vibrate.). Other actions canbe taken when a condition is satisfied. For example, when the userenters the car for the first time when the state information indicates adifferent person had formerly used the car, the cars seats could beautomatically adjusted for the new driver. As another example, when thesystem indicated that the user had left her house or her office atparticular times of day, the telephone system could be programmed toautomatically start call forwarding calls to a different location, or toautomatically select a different greeting message that callers wouldhear when the calls were unanswered.

The supervisory program executing on the server (seen at 401 in FIG. 4and at 530 in FIG. 5) could also currently report the position ofarticles. Thus, if the user had neglected bring her car keys, she couldconsult a display on her cell phone provided from the server using viathe PDAs WAP interface, which might inform her that her keys (and itsBluetooth car lock control) were within range of the television set(with its Bluetooth remote control) her bedroom. The rules can bedefined by the user using an HTML forms-based interface on a Web server,or by running a program for accepting rules on one of the user'selectronic devices, such as a personal computer. An example ruledefinition form is shown in FIG. 6. Each rule consists of up to fourpositional conditions as indicated generally at 601, each of whichspecifies two devices and each of which states whether that particularpositional condition is satisfied when those two devices (1) are closetogether; (2) are separated, (3) have moved together, or (4) have movedapart. The first two possibilities can be determined by either of thedevices issuing an inquiry to identify other electronic devices whichare within its range, and the second two possibilities can be determinedby comparing the current state of one of the devices with its priorstate to determine which, if any, other devices have moved with range orhave move out of range between states. In addition, the dialog form seenin FIG. 6 allows the user to state the time of day and the days of theweek when the conditional test is to be performed.

As seen in FIG. 6, the illustrative HTML form further defines an actionpart at 603 which specifies functions to be performed when all of theconditions in the condition part of the rule are satisfied. The user canenter the text of a message to be displayed at 605 and specify theelectronic device which is to display the message at 606. The messagemay be a recorded spoken message or audio file designated by auser-defined label that is entered at 605, and the destination devicewhich produces the message may be the telephone number of a called partyto who the specified recorded spoken message or audio file istransmitted after a connection is established the cellular or publicswitched telephone network (PSTN). The user can also specify that, ifthe condition part of the rule is satisfied, an audible alarm on adevice specified at 609 may be activated; and/or the user can designateda named procedure at 611 to be performed on a programmable deviceidentified at 613.

The rule-based system may be used to produce “place-based” alarms. Theuser may define a rule such as “If my wristwatch is at my office and thetime of day is between 5:00 pm and 6:00 pm, then activate an audio alarmon my wristwatch.” In this way, a reminder to leave the office on timeis issued only if the user has not already left on time. As a furtherexample, the user may record an reminder announcement on her GPS cellphone as a labeled message which play “pick up your prescription”whenever the cell phone was cell phone and the user's drug store “areclose together.” Note that such reminder and alarm messages might beposted by a person other than the bearer of a designated device; thus, aperson's spouse might post a reminder message “Don't forget to stop formilk” which would be transmitted to a designated cellular phone whenthat phone moved away from the phone user's office.

The cellular phone with a built-in message recording and playbackmechanism may also be used independently of the rule-based network toautonomously play recorded reminder and alert messages at particulartimes or, if also equipped with GPS or MPS position sensing, toautomatically play recorded reminder or alert messages when the cellularphone arrives at or leaves a designated geographical location, or togenerate an identified recorded message or activate an alarm when aspecified combination of time and location conditions were satisfied.

The cellular phone could also be programmed to record and play backplace-related audio notes. For instance, you might want to make a noteregarding which hotel room to ask for next time you at a particularhotel, or which dish to order at a particular restaurant, where to parkwhen in a certain part of town. As previously noted, these recordedreminder messages may be stored either in the cellular handset, in acellular network server, on an Internet server which is accessible tothe cellular phone, or on a nearby device coupled to the cellular phoneby a Bluetooth link.

Note also that, although the foregoing illustrative examples employ acellular phone with message recording and playback capabilities, similarfunctions may be performed by a device such as PDA which may be providedwith audio file recording and playback capabilities, data storage andprocessing capabilities, and short and long range communications. Asdescribed in detail in the above noted U.S. Pat. No. 6,788,766 which isincorporated herein by reference, a data server may be employed forfacilitating communication between consenting participants via atelephone network. The data server stores cross-referencing data thatspecifies, for each of given participant, the current geographiclocation and the telephone number of each participant. New participantsenter a group by sending a log-in message containing data specifying thecurrent geographic location and the telephone number of the newparticipant. Any participant may then transmit a broadcast requestspecifying a geographic region within which a targeted subset of saidparticipants are currently located, and broadcast an information messageto that targeted subset of participants.

This mechanism for creating “talk groups” may be employed forautomatically establishing connections between electronic devices whichsatisfy a particular rule. For example, when a participant's cellularphone entered or leaves a defined region, the user may be automaticallylogged into and out of a defined group, and pre-recorded announcementsmay be generated at the time of entry and exit which advise the userthat group connectivity has been established.

This same technique could be used give the user to automatically connectto a source of information related to a particular location:pre-recorded announcements may be played when the user's device is at apredetermined position, such as particular battle sites at Gettysburg,or points of interest around Niagara Falls. A cell phone user may begiven the ability to automatically be connected to a “help desk” in alarge retail store to obtain shopping assistance from assigned storepersonnel. This connection could take use an “open-mike” conversationformat in which, whenever the user speaks, all of the other groupparticipants can hear them. A cell phone user with a headset couldsimply walk into a store and start talking to the clerks or informationservice. No more stationing kiosks or clerks all over the floor. Notethat cellular phones or other devices with built-in short rangesignaling capabilities such as Bluetooth can automatically establishrule-based, location-based group communications among nearbyparticipants without needing the cellular or dialup telephone network Insome respects this capability is similar to the private intercomfunctionality is built into a basic cell phone service, but rather thanestablishing private communications between two parties, this systemprovides communications between all participants in the group whichsatisfy the rules defining the attributes of group members. Althoughthese attributes may be location based conditions, they may be based onthe attributes of participants; for example, creating discussion groupsamong all participants who share a common interest.

Group formation could be more than just based on where a user or deviceis currently located. These locations may be specified in a variety ofways, including using GPS and GIS map databases, as noted above. Inaddition, book-marking system could be employed whereby you can bookmarka location that you are currently at, and then refer back to it later.Marine GPS systems commonly include such a “man overboard” mechanism formarking a location to which the boat owner wishes to return.

Another useful action that a rule-based or location-based system canperform is to disable a designated device when a specified condition issatisfied. Thus, a cellular phone might be disabled unless it is near adesignated wristwatch, effectively making the cell phone useful only by,or in the presence of, a particular person. Alternatively, a cell phonemight be disabled when it is near to an automobile to prohibit unsafeuse when driving, or it may be disabled when it is in a location thatprohibits cell phone use, such as a theatre or other location designatedby the user. Alternatively, the action part may merely disable theringer, or switch it to vibrate mode, in certain locations, and returnit to normal audible ringing mode upon departing from those protectedlocations. In the same way, a rule could be written to turn OFF theringer, or disable or power down the phone or other devices at certaintimes of day when they are not needed, thereby conserving the batterysupply.

The action part of a rule-based, including location-based, mechanism mayidentify pre-recorded DTMF (dialtone) signaling which can be transmittedvia a cellular or dialup telephone link to control the state andfunction of a connected central office or cellular network provider. Forexample, most public telephone services offer a variety of servicefunctions which can be controlled by transmitting predetermined dialpadkey sequences. To use many of these functions, the user must normallyknow and key-in control key sequences on the telephone keypad. These keysequences can be recorded, labeled, and transmitted via the telephonelink to perform a variety of functions, including: the activation anddeactivation of call waiting services, the blocking and unblocking ofcaller ID displays, establishing call-forwarding functions. As analternative to the use of DTMF key sequences to control telephonecentral offices, the SS7 call management protocol may be used. SS7(Signaling System 7/Common Channel Signaling) is an advanced signalingsystem that features flexible message formatting, high speed datatransmission (56/64 kbps) and digital technology. In the usual voice andsignaling network, signaling and voice use the same path but cannot useit at the same time. With SS7, signaling and voice have been separated.Signaling (SS7) is over a high-speed data link which carries signalingfor more than one trunk. In the context of the present invention, theSS7 protocol provides a more direct and effective way for the hostservices computer to control the functions of the connected dialuptelephone system than the conventional DTMF signaling mechanisms whichare set forth here for simplicity.

If the subscriber wishes to prevent the called parties caller ID systemfrom displaying the subscribers number on the next call, the rerecordedsending the dialtone sequence “*67” is sent to the central office. Thesequence “*82” may be recorded and sent to remove perform line blockingfor the next call only. Call waiting is activated (and deactivated) bysending the key sequence “*70” to the central office, and is deactivatedby the sending same code. Call tracing functions can be performed bytransmitting the dial sequence “*57” to the central office, whichthereafter provides announcements to the subscriber indicating that thecall was traced and providing further instructions. The central officemay be requested to perform repeat dialing by sending the key sequence“*66”. Repeat dialing by the central office may be deactivated on therequest of the subscriber transmitting the dialtone sequence “*68” todeactivate central office repeat dialing.

Under the commonly available “three way calling” service offered bytelephone system, when the user wishes to add a third party to anongoing call, he or she may manually flash the line (i.e., places theline on-hook momentarily), waits for three beeps and a dial tone fromthe central office, then dials the number, and when the added partyanswers, again flashes the line to bring all three parties together forthe desired conferenced call. If the third party line does not answer oris busy, the subscriber is notified of that condition and the line isflashed twice to reconnect the first call. These functions may becombined with pre-recorded telephone numbers to automatically createconference calls by selecting the recorded control sequence forplayback, either manually or when the condition part of a rule issatisfied.

As noted above, using special dialtone DTMF sequences, SS7 signaling, orthe like, pre-recorded message files may be transmitted directly into adestination voice mail system. Thus, the rule-based mechanism may beemployed to automatically perform voice mail management functions. Thus,a cell phone user could record a message and define a rule which wouldcause the recorded message to be automatically transferred into thevoice mail system of a particular person. For example, “If a productdesignated by EPC Code 123456789012 and EPC Reader 987654 are closetogether, send the message labeled “Your shipment arrived” to the voicemail of (508) 555-1212.”

The various mechanisms which have been described above may be used toform a communications network for exchanging recorded messages in avariety of ways between a variety of communications devices including,by way of example:

-   -   (1) cellular phones seen at 703, 705 and 707 connected to the        cellular telephone network 710;    -   (2) a server 713 connected to the cellular network 710 which        stores and manages files, including messages, images and text,        on behalf of cellular subscribers identified by cellular        telephone numbers, as well as rules which specify conditions and        actions defined by cellular subscribers;    -   (3) conventional telephones seen at 723 and 725 connected to the        public switched telephone network 730;    -   (4) a server 731 connected to the PSTN 730 which stores and        manages files, including messages, images and text, on behalf of        cellular subscribers identified by conventional telephone        numbers, as well as rules which specify conditions and actions        defined by cellular subscribers;    -   (5) an answering machine 733 connected to the PSTN 730 which        includes a processor and storage for files, including messages,        images, text and rules;    -   (6) a personal computer PC 743 connected to the Internet 750;        and    -   (7) gateways 771, 772 and 773 which interconnect the cellular        network 710, the PSTN 730 and the Internet 750.

As discussed above, the cellular handset may include internal storagefor messages and rules as illustrated by the cellular handset 705 inFIG. 7. Alternatively, as illustrated by the cellular phones 703 and707, a server operated by or connected to the cellular network may beused to store messages, rules and other data associated with individualcellular subscribers. Likewise, a server as illustrated at 731 at atelephone central office or otherwise connected to the public switchedtelephone network, such as the server that performs voice mail functionsprovided to subscribers by the telephone company, may be used to storemessages and other files on behalf of telephone subscribers who mayaccess those services using conventional telephone stationsets as seenat 723 and 725. Standalone answering systems may be connected to thePSTN as illustrated at 733 and may include storage for message files,rules for triggering actions when certain conditions are satisfied, andother functions. Any or all of these devices may access the richassortment of information and services, such as EPC network serverswhich provide tracking information on products, GIS servers whichprovide information for associating services, addresses, regions, etc.with GPS generated position data, and servers for providinglocation-based communications.

CONCLUSION

It is to be understood that the specific methods and apparatus that havebeen described are merely illustrative of applications of the principlesof the invention. By way of example only, many of the illustrativeimplementations describe the use of a cellular handset, but thoseskilled in the art will readily recognize that the same functions couldbe implemented and used with wired telephone station sets, portablephones, PBX equipment, telephone central office and call managementsystems, and the like. Numerous modifications may be made to thedescribed embodiments without departing from the true spirit and scopeof the invention.

1. Apparatus for generating a notification message in response to thechanging position of a portable electronic device comprising, incombination: a position detector for producing position data whichindicates the current position of a portable electronic device, adatabase for accepting and storing one or more rules, each of said rulescontaining a condition part and an action part, said condition partdefining at least one position condition and an action part specifying anotification message to be generated when said condition part issatisfied, a message generator for issuing said notification method whenactivated, and a processor for activating said message generator togenerate said notification message when said position data from saidposition detector satisfies the condition part of one of said rules. 2.Apparatus for generating a notification message as set forth in claim 1further including a web server for accepting rule definitions from oneor more remote users which specifies all or part of one or more of saidrules.
 3. Apparatus for generating a notification message as set forthin claim 1 wherein said portable electronic device is a cellulartelephone.
 4. Apparatus for generating a notification message as setforth in claim 3 further including a web server for accepting ruledefinitions from one or more remote users which specifies all or part ofone or more of said rules
 5. Apparatus for generating a notificationmessage as set forth in claim 3 wherein said position detector employsthe Global Positioning System to determine said current position of saidcellular telephone.
 6. Apparatus for generating a notification messageas set forth in claim 5 wherein said notification message is a textmessage.
 7. Apparatus for generating a notification message as set forthin claim 6 wherein said text message is transmitted using the ShortMessage Service (SMS).
 8. Apparatus for generating a notificationmessage as set forth in claim 7 further including a web server foraccepting rule definitions from one or more remote users which specifiesall or part of one or more of said rules.
 9. Apparatus for generating anotification message as set forth in claim 3 wherein said positiondetector employs the Mobile Positioning System to determine said currentposition of said cellular telephone.
 10. Apparatus for generating anotification message as set forth in claim 3 wherein said positiondetector employs short range radio signaling to determine when saidcellular telephone is near said position detector.